#ifndef _HTTPCREATORIMPL_H_
#define _HTTPCREATORIMPL_H_

#include "stdafx.h"
#include <io/iframe.h>
#include <http/ihttp.h>
#include <net/idns.h>

class CHttpImpl :	public	IHttp,
					public	IPlugin,
					public	IPluginRun,
					public	CUnknownImp
{
public:
	CHttpImpl(void);
	virtual ~CHttpImpl(void);


	UNKNOWN_IMP3_(IPlugin, IPluginRun, IHttp);
	//////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////
	std_method_impl init_class(IBase* prot, IBase* punkOuter);
	//////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////
	std_method(Init)(void*);
	std_method(Uninit)();
	//////////////////////////////////////////////////////////////////////////

	//////////////////////////////////////////////////////////////////////////
	std_method(Start)();
	std_method(Stop)();
	//////////////////////////////////////////////////////////////////////////
	//IHttpCreator
	std_method(CreateHttp_t)(IBase **pBase);
	std_method(CreateHttp_s)(IBase **pBase);

private:
	_lComPtr<IComRunningObjectTable>	m_pRot;
	_lComPtr<IAsynIo>					m_pIAsynIo;
	_lComPtr<IAsynFrame>				m_pIAsynFrame;
	_lComPtr<IDns>						m_pIDns;
};







#endif